<%-- 
 /****************************************************************
 ** 								 *			
 **  Nombre: RegistroDeAsignaturasAlumno.jsp              	 *	
 **  Versión: 1.0.0                                              *
 **  Autor: Luis Jorge Uicab Azcorra                             *
 **  Creado: 02-abr-2013, 11:38:00                               *
 **  Modificado:                                                 *
 **  Diagrama: GAPI v..                                          *		
 **  Caso de uso: MGOA3                                          *
 **                                                              *			
 *****************************************************************/
--%>

<%@page import="DAO.DAOProfesor"%>
<%@page import="Dominio.Profesor"%>
<%@page import="Dominio.AsignaturaOptativaAlumno"%>
<%@page import="DAO.DAOAsignaturasOptativasAlumno"%>
<%@page import="Dominio.AsignaturaOptativa"%>
<%@page import="DAO.DAOAsignaturasAlumno"%>
<%@page import="Dominio.AsignaturaAlumno"%>
<%@page import="Dominio.Semestre"%>
<%@page import="java.util.ArrayList"%>
<%@page import="Dominio.ProgramaEducativo"%>
<%@page import="DAO.DAORelacionAlumnoProgramaEducativo"%>
<%@page import="DAO.DAOInformacionAlumno"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Estado de Asignaturas</title>
        <script type="text/javascript" src="js/jquery.js"></script>
        <script type="text/javascript" src="js/js_registroDeAsignaturasAlumno.js"></script>
    </head>
    <body>
        <%
            HttpSession sesionOk = request.getSession();
            String nombreDeUsuario = (String)sesionOk.getAttribute("nombreUsuario");
            if (nombreDeUsuario == null || !sesionOk.getAttribute("privilegio").equals("2")) 
            {
        %>
                <jsp:forward page="Login.jsp">
                    <jsp:param name="error" value="Es obligatorio identificarse"/>
                </jsp:forward>
        <%
            } 
            else 
            {
                DAOInformacionAlumno daoIA = new DAOInformacionAlumno();
                int claveInfoAlumno = daoIA.obtenerClaveInfoAlumno(nombreDeUsuario);
                DAORelacionAlumnoProgramaEducativo daoR = new DAORelacionAlumnoProgramaEducativo();
                ProgramaEducativo programaEducativo = (ProgramaEducativo)daoR.getProgramaEducativoAlumno(claveInfoAlumno);
                ArrayList<Semestre> semestres = programaEducativo.getReticula().getListaDeSemestres();
                int tamMaximo = 0;
                int numSemestres = semestres.size();
                for(int j = 0; j<numSemestres; j++){
                    if(semestres.get(j).getListaDeAsignaturas().size()>tamMaximo){
                        tamMaximo = semestres.get(j).getListaDeAsignaturas().size();
                    }
                }
            %>
                <h1>Seleccion de Estados para Asignaturas</h1>
                <h3>Estados:</h3>
                <p>
                    Aprobada - Asignatura que fue cursada y Aprobada por el Alumno<br>
                    Recursable - Asignatura que fue cursada una vez y fue reprobada<br>
                    No Recursable - Asignatura que fue cursada dos veces y fue reprobada<br>
                    Cursable - Asignaura que No ha sido cursada
                </p>
                <h2>Tabla de Semestres</h2>
                <table border="1" cellpadding="10" id="tablaSemestres" columnas="<%=numSemestres%>" filas="<%=tamMaximo%>">
                    <tr>
            <%
                for(int sem=0; sem<semestres.size();sem++){
                    String numSemestre = "Semestre " + (sem+1);
            %>
                        <th colspan="2">
                            <%=numSemestre%>
                        </th>
            <%
                }
            %>
                    </tr>
            <%
                DAOAsignaturasAlumno daoAA = new DAOAsignaturasAlumno();
                DAOProfesor daoP = new DAOProfesor();
                ArrayList<Profesor> profesores = daoP.buscarTodosLosProfesores();
                for(int i = 0; i<tamMaximo; i++){
            %>
                    <tr>
            <%
                    for(int j = 0; j<semestres.size(); j++){
                        if(semestres.get(j).getListaDeAsignaturas().size()<=i){
            %>
                            <td colspan="2"></td>
            <%
                        } else{
                            String nombreAsignatura = semestres.get(j).getListaDeAsignaturas().get(i).getNombre();
                            String id = j + "/" + i;// "Numero de Semestre/Numero de Asignatura"
                            int claveAsignatura = semestres.get(j).getListaDeAsignaturas().get(i).getClave_asignatura();
                            AsignaturaAlumno asignatura = daoAA.obtenerAsignaturaAlumno(claveInfoAlumno, programaEducativo.getCvePrograma(), claveAsignatura, semestres.get(j).getClave_semestre());
                            int estado = -1;
                            if(asignatura!=null){
                                estado = asignatura.getEstado();
                            }
                            String idAsString = "'"+id+"'";
            %>
                            <td><%=nombreAsignatura%></td>
                            <td>
                                <select name="selectorEstado" id="<%=id%>" onchange="mostrarSelectorProfesor(<%=idAsString%>)">
                                    <option value="">Seleccionar Asignatura</option>
                                    <option value="0" <%if(asignatura!=null && estado==0){%>SELECTED<%}%>>Aprovada</option>
                                    <option value="1" <%if(asignatura!=null && estado==1){%>SELECTED<%}%>>Recursable</option>
                                    <option value="2" <%if(asignatura!=null && estado==2){%>SELECTED<%}%>>No Recursable</option>
                                    <option value="-1"<%if(asignatura!=null && estado==-1){%>SELECTED<%}%>>Cursable</option>
                                </select>
                                <div id='espacio<%=id%>'>
            <%
                                if(estado == 1 || estado == -1){
            %>
                                    <select name="selectorProfesor" id="selectorProfesor<%=id%>">
            <%
                                    for(int k = 0; k < profesores.size(); k++){
                                        String nombreProfesor = profesores.get(k).getNombre();
                                        int claveProfesor = profesores.get(k).getClaveProfesor();
            %>
                                        <option value="<%=claveProfesor%>" <%if(claveProfesor == asignatura.getClaveProfesor()){%>SELECTED<%}%>><%=nombreProfesor%></option>;
            <%
                                    }
                                }
            %>
                                </div>
                            </td>
            <%
                        }
                    }
            %>
                    </tr>
            <%
                }
            %>
                </table>
                <br>
                <h2>Tabla Optativas</h2>
                <%
                DAOAsignaturasOptativasAlumno daoAOA = new DAOAsignaturasOptativasAlumno();    
                ArrayList<AsignaturaOptativa> optativas = programaEducativo.getReticula().getAsignaturasOptativas();
                if(optativas!=null && optativas.size()>0){
                    int numfilasO = optativas.size();
                %>
                <table border="1" cellpadding="10" id="tablaOptativas" filas="<%=numfilasO%>">
                    <tr>
                        <th colspan="2">Optativas</th>
                    </tr>
                <%
                    for(int i = 0; i<numfilasO; i++){
                        String nombreOptativa = optativas.get(i).getNombre();
                        String idOptativa = "op"+i;
                        AsignaturaOptativaAlumno actual = daoAOA.obtenerAsignaturaAlumno(claveInfoAlumno, programaEducativo.getCvePrograma(), optativas.get(i).getClave_asignatura());
                        int estadoO = -1;
                        if(actual!=null){
                            estadoO = actual.getEstado();
                        }
                        String idOpAsString = "'"+idOptativa+"'";
                %>
                        <tr>
                            <td><%=nombreOptativa%></td>
                            <td>
                                <select name="selectorEstado" id="<%=idOptativa%>" onchange="mostrarSelectorProfesorOptativa(<%=idOpAsString%>)">
                                    <option value="">Seleccionar Asignatura</option>
                                    <option value="0" <%if(actual!=null && estadoO==0){%>SELECTED<%}%>>Aprovada</option>
                                    <option value="1" <%if(actual!=null && estadoO==1){%>SELECTED<%}%>>Recursable</option>
                                    <option value="2" <%if(actual!=null && estadoO==2){%>SELECTED<%}%>>No Recursable</option>
                                    <option value="-1"<%if(actual!=null && estadoO==-1){%>SELECTED<%}%>>Cursable</option>
                                </select>
                                <div id='espacio<%=idOptativa%>'>
        <%
                                if(estadoO == 1 || estadoO == -1){
        %>
                                    <select name="selectorProfesor" id="selectorProfesor<%=idOptativa%>">
        <%
                                    for(int k = 0; k < profesores.size(); k++){
                                        String nombreProfesor = profesores.get(k).getNombre();
                                        int claveProfesor = profesores.get(k).getClaveProfesor();
        %>
                                        <option value="<%=claveProfesor%>" <%if(claveProfesor == actual.getClaveProfesor()){%>SELECTED<%}%>><%=nombreProfesor%></option>;
        <%
                                    }
                                }
        %>
                                </div>
                            </td>
                        </tr>
                <%
                    }
                %>
                </table>
                <br>
                <%
                }
                daoP.cerrarConexionAProfesor();
                daoIA.cerrarConexionADAOInformacionAlumno();
                daoR.cerrarConexionARelacionAlumnoProgramaEducativo();
                daoAA.cerrarConexionAAsignaturaAlumno();
                daoAOA.cerrarConexionAAsignaturaOptativaAlumno();
            }
        %>
        <input type="button" id="guardar" value="Guardar"/>
        <input type="button" id="regresarAlumno" value="Regresar"/>
        <div id="objetivoDeLaRespuesta"></div>
    </body>
</html>
